#ifndef PNGToBMP32_H_
#define PNGToBMP32_H_

namespace pb
{
class PBResult
{
public:
};

class PNGToBMP32
{
private:
    int m_width;
    int m_height;
    png_byte m_colorType;
    png_byte m_bitDepth;

    png_structp m_pngPtr;
    png_infop m_infoPtr;
    int m_numberOfPasses;
    png_bytep * m_rowPointers;

    bmpfile_t *m_bmp;

protected:
    PBResult _ReadPngFile(const std::wstring &png);
    PBResult _ProcessFile();
    void _Abort(const wchar_t * s, ...);

public:
    PNGToBMP32();
    virtual ~PNGToBMP32();
    PBResult Convert(const std::wstring &png, const std::wstring &bmp);
};
}

#endif // PNGToBMP32_H_